﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace brand.admin.cyt369.com.services.Services
{
    public class CarouselService:admin.cyt369.com.services.ORM.BaseService<CarouselService>
    {

        /// <summary>
        /// 轮播列表获取
        /// </summary>
        /// <returns>轮播列表</returns>
        public IQueryable<brand.admin.cyt369.com.services.Models.Carousel> GetsCarousel()
        {
            using(var ctx=this.Ctx)
            {
                var carousels = ctx.Carousels.Include(c => c.Brand).OrderBy(c=>c.OrderNumber);
                return carousels.ToList().AsQueryable();
            }
            
        }

        ///// <summary>
        ///// 轮播获取，通过id
        ///// </summary>
        ///// <param name="id"></param>
        ///// <returns></returns>
        //public Carousel CarouselGetById(int id)
        //{
        //    return Db.Carousels.SingleOrDefault(c => c.Id == id);
        //}

        ///// <summary>
        ///// 轮播添加
        ///// </summary>
        ///// <param name="carousel"></param>
        ///// <returns></returns>
        //public bool CarouselAdd(Carousel carousel)
        //{
        //    Db.Carousels.Add(carousel);
        //    Db.SaveChanges();
        //    //查询到刚刚插入到轮播记录，令他的order等于他的id
        //    Carousel? carousel1 = Db.Carousels.OrderBy(c => -c.Id).FirstOrDefault();
        //    if (carousel1 != null)
        //    {
        //        carousel1.Order = carousel1.Id;
        //    }
        //    Db.SaveChanges();
        //    return true;

        //}
        ///// <summary>
        ///// 轮播绑定菜品
        ///// </summary>
        ///// <param name="id"></param>
        ///// <param name="FoodId"></param>
        ///// <returns></returns>
        //public bool CarouselBindFood(int id, int? FoodId)
        //{
        //    Carousel? carousel = Db.Carousels.FirstOrDefault(c => c.Id == id);
        //    if (carousel != null)
        //    {
        //        if (carousel.FoodId == FoodId) return true;
        //        carousel.FoodId = FoodId;
        //        try
        //        {
        //            return Db.SaveChanges() > 0;
        //        }
        //        catch
        //        {
        //            return false;
        //        }

        //    }
        //    else
        //    {
        //        return false;
        //    }
        //}
        ///// <summary>
        ///// 轮播编辑
        ///// </summary>
        ///// <param name="carousel"></param>
        ///// <returns></returns>
        //public bool CarouselEdit(Carousel carousel)
        //{
        //    Carousel carousel2 = Db.Carousels.FirstOrDefault(c => c.Id == carousel.Id);
        //    if (carousel2 != null)
        //    {
        //        carousel2.Type = carousel.Type;
        //        carousel2.FoodId = carousel.FoodId;
        //        carousel2.Url = carousel.Url;
        //    }
        //    return Db.SaveChanges() > 0;
        //}

        ///// <summary>
        ///// 轮播删除
        ///// </summary>
        ///// <param name="id"></param>
        ///// <returns></returns>
        //public bool CarouselDelete(int id)
        //{
        //    Carousel carousel = Db.Carousels.FirstOrDefault(c => c.Id == id);
        //    if (carousel != null)
        //    {
        //        Db.Carousels.Remove(carousel);
        //    }
        //    return Db.SaveChanges() > 0;
        //}

        ///// <summary>
        ///// 轮播向前移动
        ///// </summary>
        ///// <param name="id"></param>
        ///// <returns></returns>
        //public bool CarouselForward(int id)
        //{
        //    Carousel? carousel = Db.Carousels.FirstOrDefault(c => c.Id == id);
        //    if (carousel != null)
        //    {
        //        //找到排在他前面的轮播
        //        Carousel? carousel2 = Db.Carousels.OrderBy(c => -c.Order).FirstOrDefault(c => c.Order < carousel.Order);
        //        if (carousel2 != null)
        //        {
        //            int? temp = carousel.Order;
        //            carousel.Order = carousel2.Order;
        //            carousel2.Order = temp;
        //            return Db.SaveChanges() > 0;
        //        }
        //        else
        //        {
        //            return false;
        //        }
        //    }
        //    return false;
        //}

        ////轮播向后移动
        //public bool CarouselBackward(int id)
        //{
        //    Carousel? carousel = Db.Carousels.FirstOrDefault(c => c.Id == id);
        //    if (carousel != null)
        //    {
        //        //找到排在他后面的轮播
        //        Carousel? carousel2 = Db.Carousels.OrderBy(c => c.Order).FirstOrDefault(c => c.Order > carousel.Order);
        //        if (carousel2 != null)
        //        {
        //            int? temp = carousel.Order;
        //            carousel.Order = carousel2.Order;
        //            carousel2.Order = temp;
        //            return Db.SaveChanges() > 0;
        //        }
        //        else
        //        {
        //            return false;
        //        }
        //    }
        //    return false;
        //}

    }
}
